@@ -1,5 +1,20 @@
See http://github.com/miyagawa/cpanminus/ for the latest development.
+1.3000 Wed Mar 2 14:39:44 PST 2011
+ - No changes since the last beta
+
+1.29_02 Tue Mar 1 16:06:20 PST 2011
+ - Improved the dependencies detection when -L is in use so the core modules that have been upgraded
+ inside can be correctly be detected, using Module::CoreList.
+ - Added a crazy hack to support Build.PL configure dependencies > 0.36 when -L is in effect
+
+1.29_01 Mon Feb 28 18:57:27 PST 2011
+ - Disable --uninstall-shadows by default for perl >= 5.12
+
+1.2001 Wed Feb 16 10:54:21 PST 2011
+ - This be official 1.2
+ - Skips tests during the bootstrap, making a much better first time experience
+
1.19_02 Tue Jan 18 14:11:23 PST 2011
- Module::Metadata now requires version.pm 0.87. This makes cpanm unable to boostrap when version.pm is
older than that. For now, include the pure perl version/vpp.pm and version.pm in the fatlib and then
@@ -1,6 +1,6 @@
--- #YAML:1.0
name: App-cpanminus
-version: 1.19_02
+version: 1.3000
abstract: Get, unpack, build and install modules from CPAN.
author: []
license: perl
@@ -18,7 +18,7 @@ my %fatpacked;
$fatpacked{"App/cpanminus.pm"} = <<'APP_CPANMINUS';
package App::cpanminus;
- our $VERSION = "1.19_02";
+ our $VERSION = "1.3000";
=head1 NAME
@@ -145,6 +145,8 @@ $fatpacked{"App/cpanminus.pm"} = <<'APP_CPANMINUS';
=over 4
+ =item L<CPAN::DistnameInfo> Copyright 2003 Graham Barr
+
=item L<Parse::CPAN::Meta> Copyright 2006-2009 Adam Kennedy
=item L<local::lib> Copyright 2007-2009 Matt S Trout
@@ -153,6 +155,8 @@ $fatpacked{"App/cpanminus.pm"} = <<'APP_CPANMINUS';
=item L<Module::Metadata> Copyright 2001-2006 Ken Williams. 2010 Matt S Trout
+ =item L<version> Copyright 2004-2010 John Peacock
+
=back
=head1 LICENSE
@@ -220,8 +224,7 @@ $fatpacked{"App/cpanminus/script.pm"} = <<'APP_CPANMINUS_SCRIPT';
use constant WIN32 => $^O eq 'MSWin32';
use constant SUNOS => $^O eq 'solaris';
- our $VERSION = "1.19_02";
- $VERSION = eval $VERSION;
+ our $VERSION = "1.3000";
my $quote = WIN32 ? q/"/ : q/'/;
@@ -253,7 +256,7 @@ $fatpacked{"App/cpanminus/script.pm"} = <<'APP_CPANMINUS_SCRIPT';
try_lwp => 1,
try_wget => 1,
try_curl => 1,
- uninstall_shadows => 1,
+ uninstall_shadows => ($] < 5.012),
skip_installed => 1,
auto_cleanup => 7, # days
@_,
@@ -315,7 +318,7 @@ $fatpacked{"App/cpanminus/script.pm"} = <<'APP_CPANMINUS_SCRIPT';
$self->bootstrap_local_lib;
if (@{$self->{bootstrap_deps} || []}) {
- local $self->{force} = 1; # to force install EUMM
+ local $self->{notest} = 1; # test failure in bootstrap should be tolerated
$self->install_deps(Cwd::cwd, 0, @{$self->{bootstrap_deps}});
}
}
@@ -1155,6 +1158,14 @@ $fatpacked{"App/cpanminus/script.pm"} = <<'APP_CPANMINUS_SCRIPT';
or return 0, undef;
my $version = $meta->version;
+
+ # When -L is in use, the version loaded from 'perl' library path
+ # might be newer than the version that is shipped with the current perl
+ if ($self->{self_contained}) {
+ require Module::CoreList;
+ $version = $Module::CoreList::version{$]}{$mod};
+ }
+
$self->{local_versions}{$mod} = $version;
if ($self->is_deprecated($meta)){
@@ -1244,6 +1255,25 @@ $fatpacked{"App/cpanminus/script.pm"} = <<'APP_CPANMINUS_SCRIPT';
return 1;
}
+ sub _patch_module_build_config_deps {
+ my($self, $config_deps) = @_;
+
+ # Crazy hack to auto-add Module::Build dependencies into
+ # configure_requires if Module::Build is there, since there's a
+ # possibility where Module::Build is in 'perl' library path while
+ # the dependencies are in 'site' and can't be loaded when -L
+ # (--local-lib-contained) is in effect.
+
+ my %config_deps = (@{$config_deps});
+ if ($config_deps{"Module::Build"}) {
+ push @{$config_deps}, (
+ 'Perl::OSType' => 1,
+ 'Module::Metadata' => 1.000002,
+ 'version' => 0.87,
+ );
+ }
+ }
+
sub build_stuff {
my($self, $stuff, $dist, $depth) = @_;
@@ -1257,6 +1287,9 @@ $fatpacked{"App/cpanminus/script.pm"} = <<'APP_CPANMINUS_SCRIPT';
my $target = $dist->{meta}{name} ? "$dist->{meta}{name}-$dist->{meta}{version}" : $dist->{dir};
+ $self->_patch_module_build_config_deps(\@config_deps)
+ if $self->{self_contained};
+
$self->install_deps_bailout($target, $dist->{dir}, $depth, @config_deps)
or return;
@@ -6489,8 +6522,14 @@ specify custom installation path, you SHOULD disable this option so
you won't accidentally uninstall dual-life modules from the core
include path.
-Defaults to true, and you can disable that with
-C<--no-uninst-shadows>.
+Defaults to true if your perl version is smaller than 5.12, and you
+can disable that with C<--no-uninst-shadows>.
+
+B<NOTE>: Since version 1.3000 this flag is turned off by default for
+perl newer than 5.12, since with 5.12 @INC contains site_perl directory
+I<before> the perl core library path, and uninstalling shadows is not
+necessary anymore and does more harm by deleting files from the core
+library path.
=item --auto-cleanup
@@ -1,5 +1,5 @@
package App::cpanminus;
-our $VERSION = "1.19_02";
+our $VERSION = "1.3000";
=head1 NAME
@@ -126,6 +126,8 @@ The standalone executable contains the following modules embedded.
=over 4
+=item L<CPAN::DistnameInfo> Copyright 2003 Graham Barr
+
=item L<Parse::CPAN::Meta> Copyright 2006-2009 Adam Kennedy
=item L<local::lib> Copyright 2007-2009 Matt S Trout
@@ -134,6 +136,8 @@ The standalone executable contains the following modules embedded.
=item L<Module::Metadata> Copyright 2001-2006 Ken Williams. 2010 Matt S Trout
+=item L<version> Copyright 2004-2010 John Peacock
+
=back
=head1 LICENSE